第1章 计算机网络概述
发表于:2023-08-12 | 分类: 计算机网络
字数统计: 5.7k | 阅读时长: 20分钟 | 阅读量:

引入

网络可以干什么?

  • 网络通讯(微信、QQ)

  • 浏览网站(B站)

  • 网络游戏(LOL、王者)

  • 等等

一、什么是Internet ?

通俗点,就是一堆网络通过网络互联设备(路由器)连在一起。

从具体构成角度看:

  • 节点
    • 主机及其上运行的应用程序
    • 路由器、交换机等网络交换设备
  • 边:通信链路
    • 接入网链路:主机连接到互联网的链路
    • 主干链路:路由器间的链路
  • 协议:控制发送、接收信息
    • 如TCP、IP、HTTP、FTP、PPP

从服务角度看:

  • 使用通信设施进行通信的分布式应用
    • Web、VoIP、email、分布式游戏、电子商务、社交网络
  • 通信基础设施为apps提供编程接口(通信服务)
    • 将发送和接收数据的apps与互联网连接起来
    • 为app应用提供服务选择,类似于邮政服务:
      • 无连接不可靠服务
      • 面向连接的可靠服务

二、什么是协议?

支撑互联网工作的标准

协议:对等层实体在通信过程中应该遵守的规则和集合。

![image-20230830172212388](../images/第1章 计算机网络概述/image-20230830172212388.png)

网络协议:

  • 类似人类协议
  • 机器之间的协议而非人与人之间的协议
  • Internet 中所有的通信行为都受协议制约

协议定义了在两个或多个通信实体之间交换的报文格式次序,以及在报文传输和/或接收或其他事件方面所采取的动作


三、网络结构的三个部分

网络边缘

  • 主机
  • 应用程序(客户端和服务器)

结构

  • 端系统(主机):
    • 运行应用程序
    • 如Web、email
    • 在“网络的边缘”
  • 客户/服务器模式(C/S)
    • 客户端向服务器请求、接收服务
    • 如Web浏览器/服务器;email客户端/服务器
  • 对等(peer-peer)模式
    • 很少(甚至没有)专门的服务器
    • 如 Gnutella、KaZaA、Emule

采用网络设施的面向连接服务

目标:在端系统之间传输数据

  • 握手:在数据传输之前做好准备
    • 人类协议中:你好、你好
    • 两个通信主机之间为连接建立状态
  • TCP-传输控制协议(Transmission Control Protocol )
    • Internet上面向连接的服务

TCP 服务

  • 可靠地、按顺序地传送数据
    • 确认和重传
  • 流量控制
    • 发送方不会淹没接收方
  • 拥塞控制
    • 当网络拥塞时,发送方降低发送速率

采用基础设施的无连接服务

目标:在端系统之间传输数据

  • 无连接服务
  • UDP-用户数据报协议(User Datagram Protocol)RFC 768:
    • 无连接
    • 不可靠数据传输
    • 无流量控制
    • 无拥塞控制

使用TCP的应用:

  • HTTP(Web),FTP(文件传送),Telnet(远程登录),SMTP (email)

使用UDP的应用:

  • 流媒体、远程会议、DNS、Internet电话

网络核心

  • 网络核心:路由器的网状网络
  • 基本问题:数据怎样通过网络进行输?
    • 电路交换:为每个呼叫预留一条专有电路:如电话网
    • 分组交换
      • 将要传送的数据分成一个个单位:分组
      • 将分组从一个路由器传到相邻路由器(hop),一段段最终从源端传到目标端
      • 每段:采用链路的最大传输能力(带宽)

网络分类

1
2
3
graph TB
通信网络 --> 电路交换网络 --> FDM & TDM
通信网络 --> 分组交换网络 --> 虚电路网络 & 数据包网络

电路交换

端到端的资源被分配给从源端到目标端的呼叫 “call”:

image-20230812112859334

  • 图中,每段链路有4条线路:

    • 该呼叫采用了上面链路的第2个线路,右边链路的第1个线路(piece)
  • 独享资源:不同享

    • 每个呼叫一旦建立起来就能够保证性能
  • 如果呼叫没有数据发送,被分配的资源就会被浪费 (no sharing)

  • 通常被传统电话网络采用

为呼叫预留端-端资源

  • 链路带宽、交换能力
  • 专用资源:不共享
  • 保证性能
  • 要求建立呼叫连接

网络资源(如带宽)被分成片

  • 为呼叫分配
  • 如果某个呼叫没有数据,则其资源片处于空闲状态(不共享)
  • 将带宽分成片
    • 频分(Frequencydivision multiplexing)
    • 时分(Time-division multiplexing)
    • 波分(Wave-divis)
    • 码分(CDM)

计算举例

  • 在一个电路交换网络上,从主机A到主机B发送一个640,000比特的文件需要多长时间?
    • 所有的链路速率为1.536 Mbps
    • 每条链路使用时隙数为24的TDM
    • 建立端-端的电路需500 ms
1
2
3
每条链路的速率(一个时间片):1.536Mbps/24 = 64kbps
传输时间:640kb/64kps = 10s
共用时间:传输时间+建立链路时间=10s + 500ms = 10.5s

分组交换

image-20230812114957016

分组为单位存储-转发方式

  • 网络带宽资源不再分分为一个个片,传输时使用全部带宽
  • 主机之间传输的数据被分为一个个分组

资源共享,按需使用:

  • 存储-转发:分组每次移动一跳( hop )
  • 在转发之前,节点必须收到整个分组
    • 延迟比线路交换要大
    • 排队时间

存储-转发

  • 被传输到下一个链路之前,整个分组必须到达路由器:存储-转发
  • 在一个速率为R bps的链路,一个长度为L bits 的分组的存储转发延时: L/R s

image-20230812121522155

排队和延迟:

  • 如果到达速率 > 链路的输出速率:
    • 分组将会排队,等待传输
    • 如果路由器的缓存用完了,分组将会被抛弃

关键功能

  • 路由: 决定分组采用的源到 目标的路径
    • 路由算法
  • 转发: 将分组从路由器的输 入链路转移到输出链路

统计多路复用

分组交换 vs. 电路交换

同样的网络资源,分组交换允许更多用户使用网络!

1 Mb/s 链路,每个用户活动时100 kb/s,只有10% 的时间是活动的。

  • 电路交换: 最多10 用户。$ \dfrac{1Mb/s}{100kb/s} $

$$
每个用户分配100kb/s,最多有\dfrac{1Mb/s}{100kb/s} = 10 个用户
$$

  • 分组交换:

$$
35 用户时 ,>=10个用户活动的概率为 1 - \sum_{n=0}^{9} C^{35}_n P^n(1-P)^{35-n} = 0.0004
$$

分组交换是“突发数据的胜利者?”

  • 适合于对突发式数据传输

    • 资源共享

    • 简单,不必建立呼叫

  • 过度使用会造成网络拥塞:分组延时和丢失

    • 对可靠地数据传输需要协议来约束:拥塞控制
  • Q: 怎样提供类似电路交换的服务?

    • 保证音频/视频应用需要的带宽
    • 一个仍未解决的问题(chapter 7)

分组交换网络:存储-转发

分组交换: 分组的存储转发一段一段从源端传到目标端 ,按照有无网络层的连接,分成:

  1. 数据报网络: (datagram)

    • 分组的目标地址决定下一跳
    • 在不同的阶段,路由可以改变
    • 类似:送快递、寄信(有目标地址,路由就是快递站、邮局)
    • 工作原理
      • 在通信之前,无须建立起一个连接,有数据就传输
      • 每一个分组都独立路由(路径不一样,可能会失序)
      • 路由器根据分组的目标地址进行路由

    数据包网络

  2. 虚电路网络: (virtual circuit)

    • 每个分组都带标签(虚电路标识 VC ID),标签决定下一跳
    • 呼叫建立时决定路径,在整个呼叫中路径保持不变
    • 路由器维持每个呼叫的状态信息
    • 类似:打电话(建立连接后,通信)
    • X.25 和ATM

虚电路

虚电路是有连接的,连接不仅体现在源主机和目标主机上,还体现在中间经过的所有节点上。

TCP是面向连接,连接体现在源主机和目标主机上,中间的路由器不维护通信状态。


接入网、物理媒体

  • 有线或无线通信链路

接入网

住宅接入:modem

  • 将上网数据调制加载音频信号上,在电话线上传输,在局端将其中的数据解调出来;反之亦然
    • 调频
    • 调幅
    • 调相位
    • 综合调制
  • 拨号调制解调器
    • 56Kbps 的速率直接接入路由器(通常更低)
    • 不能同时上网和打电话:不能总是在线

接入网: digital subscriber line (DSL)

接入网

  • 采用现存的到交换局DSLAM的电话线
    • DSL线路上的数据被传到互联网
    • DSL线路上的语音被传到电话网
  • < 2.5 Mbps上行传输速率(typically < 1 Mbps)
  • < 24 Mbps下行传输速率(typically < 10 Mbps)
  • 特点
    • 打电话时,可以上网
    • 上行和下行带宽独享

线缆网络

image-20230814111009767

  • 有线电视信号线缆双向改造

  • FDM: 在不同频段传输不同信道的数据, 数字电视和上网数据(上下行)

  • HFC: hybrid fiber coax

    • 非对称: 最高30Mbps的下行传输速率, 2 Mbps 上行传输 速率
  • 线缆和光纤网络将个家庭用户接入到 ISP 路由器

  • 各用户共享到线缆头端的接入网络

    • 与DSL不同, DSL每个用户一个专用线路到CO(central office)、
  • 特点

    • 上行带宽共享

电缆模式

image-20230814111805679

家庭网络

image-20230814112016161

企业接入网络(Ethernet)

image-20230814112305955

  • 经常被企业或者大学等机构采用
    • 10 Mbps, 100Mbps, 1Gbps, 10Gbps传输率
    • 现在,端系统经常直接接到以太网络交换机上

无线接入网络

  • 各无线端系统共享无线接入网络(端系统到无线路由器)
    • 通过基站或者叫接入点

image-20230814112718387

物理媒体

  • Bit: 在发送-接收对间传播
  • 物理链路:连接每个发送-接 收对之间的物理媒体
  • 导引型媒体:
    • 信号沿着固体媒介被导引:同轴电缆、光纤、 双绞线
  • 非导引型媒体:
    • 开放的空间传输电磁波或者光信号,在电磁或者光信号中承 载数字数据

双绞线 (TP)

image-20230814114355509

  • 两根绝缘铜导线拧合
    • 5类:100Mbps 以太网 ,Gbps 千兆位以太网
    • 6类:10Gbps万兆以太网

同轴电缆:

image-20230814115317990

  • 两根同轴的铜导线
  • 双向
  • 基带电缆:
    • 电缆上一个单个信道
    • Ethernet
  • 宽带电缆:
    • 电缆上有多个信道
    • HFC

光纤和光缆:

  • 光脉冲,每个脉冲表示一个 bit,在玻璃纤维中传输
  • 高速:
    • 点到点的高速传输(如10 Gps-100Gbps传输速率 )
  • 低误码率:在两个中继器之 间可以有很长的距离,不受 电磁噪声的干扰
  • 安全

无线链路

开放空间传输电磁波,携带要传输的数据

  • 无需物理“线缆”
  • 双向
  • 传播环境效应:
    • 反射
    • 吸收
    • 干扰

无线链路类型:

  • 地面微波  e.g. up to 45 Mbps channels
  • LAN (e.g., WiFi)
    • 11Mbps, 54 Mbps,540Mbps…
  • wide-area (e.g., 蜂窝)
    • 3G cellular: ~ 几Mbps
    • 4G 10Mbps
    • 5G 数Gbps
  • 卫星
    • 每个信道Kbps 到45Mbps (或者 多个聚集信道)
    • 270 msec端到端延迟
    • 同步静止卫星和低轨卫星

四、Internet/ISP结构

互联网络结构:网络的网络

  • 端系统通过接入ISPs (Internet Service Providers)连接到互联网
    • 住宅,公司和大学的ISPs
  • 接入ISPs相应的必须是互联的
    • 因此任何2个端系统可相互发送分组到对方
  • 导致的“网络的网络”非常复杂
    • 发展和演化是通过经济的国家的政策来驱动的

![image-20230814161522462](../images/第1章 计算机网络概述/image-20230814161522462.png)

在网络的最中心,一些为数不多的充分连接的大范围网络(分布广、节点有限、 但是之间有着多重连接)

  • “tier-1” commercial ISPs (e.g., Level 3, Sprint, AT&T, NTT), 国家或者国际范围的覆盖
  • content provider network (e.g., Google): 将它们的数据中心接入ISP,方便周边用户的访问;通常私有网络之间用专网绕过第一层ISP和区域ISPs

三层 ISP

  • 中心:第一层ISP(如UUNet, BBN/Genuity, Sprint, AT&T)国家/国际覆盖,带宽很宽,速率极高

    • 直接与其他第一层ISP相连,通过peerIXP连接

    • 与大量的第二层ISP和其他客户网络相连

    • 松散的层次模型

      ![第一层ISP](../images/第1章 计算机网络概述/image-20230814162008198.png)

  • 第二层ISP: 更小些的 (通常是区域性的) ISP

    • 接入一个或多个第一层ISPs,也可能接入其他第二层ISP

      ![第二层ISP](../images/第1章 计算机网络概述/image-20230814162354306.png)

  • 第三层ISP与其他本地ISP

    • 接入网 (与端系统最近)

      ![第三层ISP](../images/第1章 计算机网络概述/image-20230814162519920.png)

    端系统:一个分组要经过许多网络!

    ![image-20230814162801285](../images/第1章 计算机网络概述/image-20230814162801285.png)

  • 很多内容提供商(如:Google, Akamai )可能会部署自己的网络,连接自己的在各地的DC(数据中心),走自己的数据

  • 连接若干local ISP和各级(包括一层)ISP,更加靠近用户

ISP之间的连接

  • POP: 高层ISP面向客户网络的接入点,涉及费用结算
    • 如一个低层ISP接入多个高层ISP,多宿(multi home)
  • 对等接入:2个ISP对等互接,不涉及费用结算
  • IXP:多个对等ISP互联互通之处,通常不涉及费用结算
    • 对等接入
  • ICP自己部署专用网络,同时和各级ISP连接

五、性能

延时

在路由器缓冲区的分组队列

  • 分组到达链路的速率超过了链路输出的能力
  • 分组等待排到队头、被传输

![分组延时和丢失](../images/第1章 计算机网络概述/image-20230815103859909.png)

四种分组延时

  1. 节点处理延时:

    • 检查 bit级差错

    • 检查分组首部和决定将分组导向何处

  2. 排队延时

    • 输出链路上等待传输的 时间
    • 依赖于路由器的拥塞程
  3. 传输延时:

    • R=链路带宽(bps)
    • L=分组长度(bits)
    • 将分组发送到链路上的 时间= L/R
    • 存储转发延时
  4. 传播延时:

    • d = 物理链路的长度
    • s = 在媒体上的传播速度 (~2x108 m/sec)
    • 传播延时 = d/s

R=链路带宽 (bps) ,L=分组长度 (bits) ,a=分组到达队列的平均速率

**流量强度 = **$\frac{L \times a}R$

  • La/R ~ 0: 平均排队延时很小
  • La/R -> 1: 延时变得很大
  • La/R > 1: 比特到达队列的速率超过了从该队 列输出的速率,平均排队延时将趋向无穷大!

==设计系统时流量强度不能大于1!==

分组丢失

  • 链路的队列缓冲区容量有限

  • 当分组到达一个满的队列时,该分组将会丢失

  • 丢失的分组可能会被被前一个节点或源端系统重传,或根本不重传

吞吐量

吞吐量: 在源端和目标端之间传输的速率(数 据量/单位时间)

  • 瞬间吞吐量: 在一个时间点的速率
  • 平均吞吐量: 在一个长时间内平均值

![吞吐量](../images/第1章 计算机网络概述/image-20230815115652346.png)

瓶颈链路:端到端路径上,限制端到端吞吐的链路

  • 其他节点都不传输,一端为$R_s$,另一端为$R_c$,平均吞吐量为min{$R_s$, $R_c$},瓶颈在小的一端。

  • 端到端平均吞吐 = min{ $R_1$,$R_2$ , …, $R_n$ }

互联网场景

![互联网场景](../images/第1章 计算机网络概述/image-20230815120359975.png)

  • 链路上的每一段实际可用带宽$R_i$’ = ? 端到端吞吐量: min{ $R_i’$ } ?
  • 每个连接上的端到端吞吐: min($R_c$ , $R_s$ , $R \div 10$)
  • 实际上: $R_c$ 或者 $R_s$ 经常是瓶颈

六、协议层次、服务模型

协议层次

网络是一个复杂的系统!

  • 网络功能繁杂:数字信号的物理信号承载、点到点、路由、rdt、进 程区分、应用等
  • 现实来看,网络的许多构成元素和 设备:
    • 主机
    • 路由器
    • 各种媒体的链路
    • 应用
    • 协议
    • 硬件, 软件

层次化方式实现复杂网络功能:

  • 将网络复杂的功能分层功能明确的层次,每一层实现了其中一个或一 组功能,功能中有其上层可以使用的功能:服务
  • 本层协议实体相互交互执行本层的协议动作,目的是实现本层功能, 通过接口为上层提供更好的服务
  • 在实现本层协议的时候,直接利用了下层所提供的服务
  • 本层的服务:借助下层服务实现的本层协议实体之间交互带来的新功 能(上层可以利用的)+更下层所提供的服务

服务和服务访问点

  • 服务( Service):低层实体向上层实体提供它们之间的通信的能力
    • 服务用户(service user)
    • 服务提供者(service provider )
  • 原语(primitive):上层使用下层服务的形式,高层使用低层提供的服务,以及低层向高层提供服务都是通过服务访问原语来进行交互的—形式
  • 服务访问点 SAP (Services Access Point) :上层 使用下层提供的服务通过层间的接口—地点;
    • 例子:邮箱
    • 地址(address):下层的一个实体支撑着上层的多个实体, SAP有标志不同上层实体的作用
    • 可以有不同的实现,队列
    • 例子:传输层的SAP: 端口(port)

服务的类型

  • 面向连接的服务
  • 面向无连接的服务

服务和协议

  • 服务与协议的区别
    • 服务(Service):低层实体向上层实体提供它们之间的通信的能力,是通过原语(primitive)来操作的,垂直
    • 协议(protocol) :对等层实体(peer entity)之间在相互通信的过程中,需要遵循的规则的集合,水平
  • 服务与协议的联系
    • 本层协议的实现要靠下层提供的服务来实现
    • 本层实体通过协议为上层提供更高级的服务

数据单元(DU)

![image-20230816120750303](../images/第1章 计算机网络概述/image-20230816120750303.png)

分层

分层结构
应用层
传输层
网络层
链路层
物理层
  • 应用层: 网络应用
    • 为人类用户或者其他应用进程提供网络应用服务
    • FTP, SMTP, HTTP,DNS
  • 传输层: 进程之间的数据传输
    • 在网络层提供的端到端通信基础上,细分为进程到进程,将不可靠的通信变成可靠地通信
    • TCP, UDP
  • 网络层: 为数据报从源到目的选择路由
    • 主机主机之间的通信,端到端通信,不可靠
    • IP, 路由协议
  • 链路层: 相邻网络节点间的数据传输
    • 2个相邻2点的通信,点到点通信,可靠或不可靠
    • 点对对协议PPP, 802.11(wifi), Ethernet
  • 物理层: 在线路上传送bit

每一层实现一个特定的功能,上一层借助于下一层提供的服务,通过跟对等层的协议实体,相互交换协议的报文,向上层提供更好的服务。

  • 物理层把物理介质的01信号变成电磁波,发送和接收电磁波信号。
  • 链路层,相邻两点传输以为单位的数据,实现了了点到点的功能。
  • 网络层在链路层提供的点到点服务的基础上,实现了源主机目标主机之间的数据传输,实现了端到端的功能。
  • 传输层加强和细分了网络层的服务,把主机之间的传输变成了进程之间的传输,解决了网络层传输不可靠的问题。
  • 应用层借助于传输层提供的服务,交换应用报文,实现各种各样的网络应用。
ISO/OSI 参考模型
应用层
表示层
会话层
传输层
网络层
链路层
物理层
  • 表示层: 允许应用解释传输的数据, e.g., 加密,压缩,机 器相关的表示转换
  • 会话层: 数据交换的同步,检查点,恢复
  • 互联网协议栈没有这两层!
    • 这些服务,如果需要的话,必须被应用程序实现

![封装和解封装](../images/第1章 计算机网络概述/image-20230816154727523.png)

各层次的协议数据单元

  • 应用层:报文(message)
  • 传输层:报文段(segment):TCP段,UDP数据报
  • 网络层:分组packet(如果无连接方式:数据报 datagram)
  • 数据链路层:帧(frame)
  • 物理层:位(bit)

七、历史

![image-20230816164241892](../images/第1章 计算机网络概述/image-20230816164241892.png)


小结

  • 组成角度看什么是互联网

    • 边缘:端系统(包括应用)+ 接入网

    • 核心:网络交换设备+通信链路

    • 协议:对等层实体通信过程中遵守的规则的集合

      • 语法,语义,时序
  • 为了实现复杂的网络功能,采用分层方式设计、实现和调试

    • 应用层,传输层,网络层,数据链路层,物理层
    • 协议数据单位:
      • 报文,报文段,分组,帧,位
  • 从 服务角度看互联网

    • 通信服务基础设施
      • 提供的通信服务:面向连接 无连接
    • 应用
  • 应用之间的交互

    • C/S模式
    • P2P模式
  • 数据交换

    • 分组数据交换
    • 线路交换
    • 比较 线路交换和分组交换
  • 分组交换的2种方式

    • 虚电路
    • 数据报
  • 接入网和物理媒介

    • 接入网技术:
      • 住宅:ADSL,拨号,cable modem
      • 单位:以太网
      • 无线接入方式
    • 物理媒介
      • 光纤,同轴电缆,以太网,双绞线
  • ISP层次结构

  • 分组交换网络中延迟和丢失是如何发生的

    • 延迟的组成:处理、传输、传播、排队
  • 网络的分层体系结构

    • 分层体系结构
    • 服务
    • 协议数据单元
    • 封装与解封装
  • 历史


对应视频

上一篇:
2021年CSP-J1真题
下一篇:
hexo文章插入本地图片